;***************************************************************
;discription：高温胁迫因子
;
;param1: nrows(input) 行
;param2: ncols(input) 列
;param3: t_opt(input)植被生长的最适宜温度
;param4: t_mon(input) 某一月的平均温度
;param5: e_t2(output) 高温胁迫因子
;
;author: wangqiang( wensten )  2015-09-14  chengdu
;***************************************************************
PRO PRO_E_T2, nrows, ncols, t_opt, t_mon, e_t2=e_t2
  
  ;开始计算每一个像元对应的高温胁迫因子
  FOR yindex=0, nrows-1 DO BEGIN
    FOR xindex=0, ncols-1 DO BEGIN
      ;最适宜温度
      tmp_opt_cellvalue=t_opt[yindex,xindex]
      ;月平均气温
      tmp_mon_cellvalue=t_mon[yindex,xindex]
      
      IF (tmp_opt_cellvalue EQ -9999.0)||(tmp_mon_cellvalue EQ -9999.0) THEN BEGIN
        e_t2[yindex,xindex] = -9999.0
      ENDIF ELSE BEGIN
        ;下面有点复杂了
        ;当某一月平均温度t_mouth比最适宜温度t_opt高10度或者低13度时候，
        ;该月胁迫因子e_t2等于最适宜月份时候胁迫因子值的一半
        subtraction = tmp_mon_cellvalue - tmp_opt_cellvalue
        IF (subtraction GT 10.0) || (subtraction LT -13.0) THEN BEGIN
          ;最适宜温度时高温胁迫
          e_t2_opt=(1.84 / (1.0+ exp(-0.8*tmp_opt_cellvalue - 10.0)) ) * ( 1.0 / (1.0+exp(0.7*tmp_opt_cellvalue - 10.0)) )
          e_t2[yindex,xindex] = e_t2_opt / 2
        ENDIF ELSE BEGIN
          ;高温胁迫因子
          e_t2[yindex,xindex] = (1.184/( 1.0+ exp( 0.2*tmp_opt_cellvalue - 10.0 - tmp_mon_cellvalue) ) ) * ( 1.0/(1.0+exp( 0.3*(-tmp_opt_cellvalue) - 10.0 + tmp_mon_cellvalue ) ) )
          
        ENDELSE
      ENDELSE
      
    ENDFOR
  ENDFOR
END